﻿using System;
using System.Collections.Generic;
using Citi.RoutineBase;
using Citi.Helpers;
using System.Configuration;
using Citi.PTSConsolidation.SchedulerUI.Bases;

namespace Citi.PTSConsolidation.SchedulerUI
{
    public class LagPreviousYearReportGeneration : ReportPreviousYear
    {
        protected override void ExecuteProcess(DateTime referenceDate, ref ICurrentAction currentAction, string networkUser, string networkPassword, Dictionary<string, object> parameters)
        {
            ReportGenerationHelper.GenerateNewLaggedReportYear(referenceDate.Year - 1, ref currentAction, parameters, referenceDate, "Previous Year");
        }
    }

    public class LagCurrentYearReportGeneration : ReportCurrentYear
    {
        protected override void ExecuteProcess(DateTime referenceDate, ref ICurrentAction currentAction, string networkUser, string networkPassword, Dictionary<string, object> parameters)
        {
            ReportGenerationHelper.GenerateNewLaggedReportYear(referenceDate.Year, ref currentAction, parameters, referenceDate, "Current Year");
        }
    }

    public class LagNextYearReportGeneration : ReportNextYear
    {
        protected override void ExecuteProcess(DateTime referenceDate, ref ICurrentAction currentAction, string networkUser, string networkPassword, Dictionary<string, object> parameters)
        {
            ReportGenerationHelper.GenerateNewLaggedReportYear(referenceDate.Year + 1, ref currentAction, parameters, referenceDate, "Next Year");
        }
    }
}